Direct memory access (DMA) allows a DMA-capable device to access (e.g., read or write) data from the main memory of a compute device without relying on the central processing unit (CPU) to act as an intermediary between the DMA-capable device and the main memory. As a result, DMA allows data transfers, such as firmware updates, to occur at higher speeds compared to conventional memory access methods. However, modern implementations of firmware updates are vulnerable to direct memory access (DMA) attacks. For example, one DMA-capable device might write malicious data or instructions into a firmware update payload that is present in the main memory and intended for use by another DMA-capable device. As a result, when the intended DMA-capable device subsequently accesses the main memory to read the firmware update payload, it reads the corrupted version of the firmware update payload rather than the original firmware update payload.